package com.ruoyi.classai.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.classai.domain.EwcChapterResource;
import com.ruoyi.classai.domain.dto.chapterresource.EwcChapterResourceAddDto;
import com.ruoyi.classai.domain.dto.chapterresource.EwcChapterResourceQueryDto;
import com.ruoyi.classai.domain.dto.resource.EwcTeachingResourceSaveDto;
import com.ruoyi.classai.domain.dto.resource.EwcTeachingResourceSingleSaveDto;
import com.ruoyi.classai.domain.vo.resource.EwcTeachingResourceAnalyseDetailVo;
import com.ruoyi.common.core.web.domain.AjaxResult;

import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * 老师资源库Service接口
 * 
 * @author lcj
 * @date 2025-03-26
 */
public interface IEwcChapterResourceService extends IService<EwcChapterResource> {

    /**
     * 查询老师资源库列表
     *
     * @param dto 老师资源库信息
     * @return 老师资源库集合
     */
    List<EwcChapterResource> selectChapterResourceList(EwcChapterResourceQueryDto dto);

    /**
     * 新增老师资源库
     *
     * @param dto 老师资源库信息
     * @return 结果
     */
    void insertChapterResource(EwcChapterResourceAddDto dto);

    /**
     * 老师资源库详情
     *
     * @param id 老师资源库ID
     */
    EwcChapterResource getChapterResourceById(String id);

    /**
     * 修改老师资源库
     *
     * @param dto 老师资源库信息
     * @return 结果
     */
    void updateChapterResource(EwcChapterResourceAddDto dto);

    /**
     * 批量删除老师资源库
     *
     * @param ids 需要删除的老师资源库ID集合
     * @return 结果
     */
    void deleteChapterResourceByIds(List<String> ids);

    AjaxResult saveTeachingResource(EwcTeachingResourceSaveDto ewcTeachingResourceSaveDto, EwcTeachingResourceAnalyseDetailVo teachingResourceAnalyseDetail);

    boolean updateTeachingResourceStatus(@NotBlank(message = "视频解析资源ID不能为空") String id);

    boolean SingleSaveTeachingResource(EwcTeachingResourceSingleSaveDto ETSingleSaveDto);
}
